package cn.cttic.order.api.domain;

import cn.cttic.common.core.validate.AddGroup;
import cn.cttic.common.core.validate.EditGroup;
import cn.cttic.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 对账管理对象 base_reconciliation
 *
 * @author Times.Studio
 * @date 2025-01-02
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_reconciliation")
public class BaseReconciliation extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id")
    private String id;

    /**
     * 服务单位
     */
    private String companyId;

    /**
     * 服务开始日期
     */
    private LocalDateTime periodBeginDate;

    /**
     * 服务结束日期
     */
    private LocalDateTime periodEndDate;

    /**
     * 服务类型
     */
    private String orderType;

    /**
     * 服务数量
     */
    private Integer orderCount;

    /**
     * 服务状态
     */
    private Integer reconciliationStatus;

    /**
     * 核销意见
     */
    private String reconciliationReason;

    /**
     * 开始核销
     */
    private Integer startingWriteOff;

    /**
     * 核销状态
     */
    private Integer writeOffStatus;

    /**
     * 核销意见
     */
    private String writeOffReason;

    /**
     * 核销审批单号
     */
    private String writeOffApprovalNo;

    /**
     * 核销凭证
     */
    private String writeOffProof;

    /**
     * 是否开票
     */
    private String hasReceipt;

    /**
     * 服务发票
     */
    private String receiptInfo;

    /**
     * 支付凭证
     */
    private String paidProof;

    /**
     * 删除标识
     */
    @TableLogic
    private Integer delFlag;


}
